public void execute(Tagapastry taga) {
	TagapastryImpl tagaImpl = 
		(TagapastryImpl) taga;
	Hashtable<Tag, Index> indexes = 
		tagaImpl.getIndexes();
	Iterator<Tag> iter = 
		indexes.keySet().iterator();

	while (iter.hasNext()) {
		Tag tag;
		try {
			tag = iter.next();
		} catch (ConcurrentModificationException e) {
			return;
		}
		Index index = indexes.get(tag);
		System.out.println(tag + 
				"  size: " + 
				index.getSize() + 
				"  delta: " + 
				index.getDelta());
		
		for (IndexEntry entry : 
			index.getEntries()) {
			System.out.println("  " + entry);
		}
		if (tag.getExtension().isEmpty()) {
			// means its a root node. 
			continue;
		}
		//Index index = indexes.get(tag);
		if (index.isDeltaChanged()) {
			Tag parentTag = 
				TagFactory.duplicateTagMinusExtension(tag);
			UpdateSizeMsg msg = 
				new UpdateSizeMsg(parentTag, 
					tagaImpl.getNodeHandle(), 
					index.getDelta());
			tagaImpl.send(msg);
			index.resetDelta();
		} 
	}
}